1. Field of the Invention
This invention relates to computer typesetting and, more particularly, to the use and management of layer fonts in rendering glyphs with multiple colors.
2. Prior Art
The shapes of written language, at their most basic, are formed of simple strokes or dots. Therefore, characters (letters, numbers, punctuation, etc.) may be adequately represented by glyphs (shapes) of a single color for utilitarian purposes.
Nevertheless, the use of decorative lettering with multiple colors in individual glyphs is a long-established tradition. Such lettering is present in some of the earliest preserved examples of calligraphy. By the 19th century, printers employed “chromatic type” to produce multiple-color lettering; different versions of one character were printed on the same space, using different inks, creating a single composite character of multiple colors.
In the modern era, multiple-color lettering is frequently employed in both printed and electronic media, particularly for consumer-targeted graphics such as signs, packaging and advertising. Most of this lettering, however, must be custom-produced for each new design, because of the monochrome paradigm which generally prevails in computer typesetting.
Computer Typesetting
Typesetting—the process of arranging and styling text for publication—is today mostly carried out with the use of desktop publishing systems. A typical desktop publishing system includes a personal computer and specialized typesetting software. Operating system software installed on the computer, such as Mac OS X™ or Windows Vista™, provides an environment in which a user may install and run more-specialized software. Professional typesetting software may take the form of drawing applications, such as Adobe Illustrators, or page layout applications such as Adobe InDesign™ or Quark XPress™.
Desktop publishing systems are widely used by design professionals and others to compose documents with a variety of layouts, typefaces, and typographic effects, and to publish those documents to various printed-output devices or in electronic formats.
Most computer software, including typesetting application software, relies on font files for rendering text. A font file is an electronic document storing descriptions of a set of glyphs; a single font includes glyphs for a complete set of standard characters in one type style. Widely recognized fonts include Times Roman, Times Italic, Times Bold and Times Bold Italic, each of which is a distinct font. Some font files may combine a family of multiple related fonts, such as the varieties of Times, into a single file.
Computer fonts are produced by type designers, using special-purpose software applications, such as FontLab Studio, Fontographer, or FontForge. Type designers' studios are often referred to as foundries, in a legacy of the metal type of the pre-digital era.
Computer Font Formats
Broadly speaking, font files may be classified as bitmap fonts, scalable fonts, or a combination of the two. Bitmap fonts describe glyphs as patterns of pixels, or individual squares, within a grid. Bitmap fonts are mainly employed for display on electronic screens at a fixed size.
Scalable fonts use mathematical formulas to describe the lines and curves of a glyph. Scalable fonts may be enlarged to any size without losing sharp edges or smooth curves. For this reason, design and printing professionals rely almost exclusively on scalable fonts for printed text. Examples of commonly-encountered scalable font formats include Apple TrueType, Type 1, and OpenType™.
Nearly all of those font formats which are widely supported by desktop publishing software describe characters as single-color glyphs. Each individual glyph, whether described by bitmaps or mathematical formulas, is a solid shape which software applications use like a rubber stamp. Thus, characters may be assigned any of a variety of colors, but each individual character is always rendered with a single, solid color.
A few graphics software applications are capable of providing simple enhancements to the monochrome glyphs of standard fonts. Adobe Illustrator™, for example, can “fill” characters with smooth gradations between multiple colors, or with multiple-color patterns. Adobe Illustrator™ and select other applications can also render scalable font characters with an outline, distinct in color from the character's interior.
Generally speaking, however, the “rubber stamp” model prevails for all font formats commonly used in desktop publishing. This limits the use of multiple-color lettering to either simple effects (e.g. gradients, outlines), or else custom lettering designs which are laborious and time-consuming to create.
Alternative Font Formats
Various alternative font formats, introduced or proposed over the years, have supported multiple-color glyphs. As will be seen, however, all such alternative formats possess significant drawbacks.
The Photofont™ format developed by Fontlab Ltd., Inc., for example, supports glyphs with multiple colors. However, in addition to requiring the installation of special software, which is only compatible with a small number of applications, Photofonts are bitmap fonts. This generally restricts their usefulness to electronic display at a specific, small, size. Photofonts are also limited to specific color combinations inherent in the design of the glyphs, preventing their adaptation to other color schemes.
The same limitations of predetermined colors and non-scalable bitmap glyphs also apply to the Bitmap Distribution Format (BDF) developed by Adobe Systems Inc., and to the format described in U.S. Pat. No. 6,762,770 (2004) “Method and System for Representation of Color and Other Attributes in Bitmap Fonts”, issued to Beaman and Opstad.
The Type 3 specification developed by Adobe Systems Inc., while permitting scalable multiple-color glyphs, shares the Photofont™ format's limitation of predetermined color combinations. The Type 3 format is also unsupported by currently-available desktop publishing software, making it impractical for most users and discouraging type foundries from developing new Type 3 fonts.
Another format for a multiple-color font is described in U.S. Pat. No. 6,057,858 (2000) “Multiple Media Fonts”, issued to Desrosirers. This format, like that described in U.S. Pat. No. 6,091,505 (2000) “Method and System for Achieving Enhanced Glyphs in a Font”, issued to Beaman and Opstad, describes a font format which would permit scalable letters with areas of distinct color in individual glyphs. These formats would also provide the option for an end user to determine the specific values assigned to a glyph's color variables.
No products employing these formats have been made available, however. Adoption of any new multiple-color, scalable font formats, including those of the aforementioned patents, will furthermore be hindered by substantial obstacles.
To be useful, a new font format will require type foundries to create, and users to purchase, new font files. A new font format will also require development of updates to both computer typesetting software and to the font authoring software used by type designers. Designers and developers face a “chicken-and-egg” dilemma, as the return on creating either new fonts or new software is uncertain, without the other first being in widespread use.
Further, whereas the OpenType™ format has achieved broad support since its introduction in 1997, it still defines glyphs as traditional monochrome shapes. A new scalable font format with support for multiple-color glyphs would introduce a feature unsupported by any current desktop publishing software. Therefore, such a format would likely require much more extensive effort to ensure compatibility with the software and hardware components of desktop publishing systems.
Layer Fonts
Type designers, thus largely limited to monochrome font formats, have nevertheless attempted to develop multiple-color typefaces using an alternative approach. In place of single multiple-color fonts, type designers have released families of “layer fonts” (sometimes referred to as chromatic, bicolor or multiple layer fonts). Examples of layer font families include Adobe Systems Inc's Rosewood™, International House of Fonts' Bifur, and astype's Sattler™.
Layer font families consist of multiple individual fonts, each of which contains the shapes for one distinct color variable. Used in concert, fonts from such a family simulate a composite multiple-color typeface.
Layer fonts rely on an end user, who must manually assemble the component color variables into composite multiple-color type. Many type foundries include illustrated instructions with layer fonts; usually, these instructions guide the user through one of two processes.
In the first process, the user must assign a font to one line of text, then copy that text, paste it directly atop the original, and assign to the new copy another font from the relevant family. The user must then repeat the process for each color variable included in the family.
In the second process, the user must enter a single character multiple consecutive times, then assign a different font to each instance of the character, and adjust spacing (kerning) between the letters so that characters overlap.
Limitations of Layer Fonts
Both of these methods have several drawbacks. They are nonintuitive, involving many extra steps not normally performed in computer typesetting. Creating multiple-color text by these methods is also labor-intensive, as is editing such text, since both processes result in objects which are difficult to work with; by relying on characters stacked directly atop one another, these methods make most components of the composite type difficult to access. This in turn hinders experimentation with different color combinations.
Existing attempts to solve the problems of layer fonts have been largely unsuccessful. The instructions provided by foundries such as Alphabet Soup, though helpful in explaining the primary methods for working with layer fonts, do not make the actual processes any simpler or more efficient.
The type foundry underware has introduced fonts (e.g. Sauna Dingbats) with built-in kerning values, partially automating the steps of overlaying each color component used in the second process, but this approach also leaves many problems unresolved.
Once characters are made to overlap by the second process, it is difficult to select one of them, without first separating them by restoring neutral keming values. Performing this additional step (and reversing it, afterwards) significantly complicates changes to text, color and font layering order. Further, because this process still requires that a font be applied to nonconsecutive characters, changing the color value assigned to one fonts glyphs throughout an entire text would be slow and cumbersome. The user would need to select multiple individual characters throughout the text, then change the color of each, one by one.